from .abstract import *

__all__ = [
    "CheesePizza", "VeggiePizza", "ClamPizza", "PepperoniPizza"
]

class CheesePizza(Pizza):
    def prepare(self):
        print("Preparing", self.name)
        self._dough = self._ingredient_factory.create_dough()
        self._sauce = self._ingredient_factory.create_sauce()
        self._cheese = self._ingredient_factory.create_cheese()


class VeggiePizza(Pizza):
    def prepare(self):
        print("Preparing", self.name)
        self._dough = self._ingredient_factory.create_dough()
        self._sauce = self._ingredient_factory.create_sauce()
        self._cheese = self._ingredient_factory.create_cheese()
        self._veggies = self._ingredient_factory.create_veggies()


class ClamPizza(Pizza):
    def prepare(self):
        print("Preparing", self.name)
        self._dough = self._ingredient_factory.create_dough()
        self._sauce = self._ingredient_factory.create_sauce()
        self._cheese = self._ingredient_factory.create_cheese()
        self._clam = self._ingredient_factory.create_clam()


class PepperoniPizza(Pizza):
    def prepare(self):
        print("Preparing", self.name)
        self._dough = self._ingredient_factory.create_dough()
        self._sauce = self._ingredient_factory.create_sauce()
        self._cheese = self._ingredient_factory.create_cheese()
        self._veggies = self._ingredient_factory.create_veggies()
        self._pepperoni = self._ingredient_factory.create_pepperoni()

